#ifndef __GLES2DepthBuffer_H__
#define __GLES2DepthBuffer_H__

#include "DepthBuffer.h"

namespace PVM
{
	class GLES2Context;
	class GLES2RenderBuffer;
	class GLES2RenderSystem;
	
	class GLES2DepthBuffer : public DepthBuffer
	{
	public:
		GLES2DepthBuffer(uint16 poolId, GLES2RenderSystem* renderSystem, GLES2Context* creatorContext,
						 GLES2RenderBuffer* depth, GLES2RenderBuffer* stencil,
						 uint32 width, uint32 height, uint32 fsaa, uint32 multiSampleQuality,
						 bool isManual);
		~GLES2DepthBuffer();
		
		virtual bool isCompatible(RenderTarget* renderTarget) const;
		
		GLES2Context* getGLContext() const {return mCreatorContext;}
		GLES2RenderBuffer* getDepthBuffer() const {return mDepthBuffer;}
		GLES2RenderBuffer* getStencilBuffer() const {return mStencilBuffer;}
		
	protected:
		uint32 mMultiSampleQuality;
		GLES2Context* mCreatorContext;
		GLES2RenderBuffer* mDepthBuffer;
		GLES2RenderBuffer* mStencilBuffer;
		GLES2RenderSystem* mRenderSystem;
	};
}

#endif
